interface Drink {
    idDrink: string;
    strDrink: string;
    strDrinkAlternate?: string | null;
    strTags?: string | null;
    strVideo?: string | null;
    strCategory: string;
    strIBA?: string | null;
    strAlcoholic: string;
    strGlass: string;
    strInstructions: string;
    strInstructionsES?: string | null;
    strInstructionsDE?: string | null;
    strInstructionsFR?: string | null;
    strInstructionsIT?: string | null;
    "strInstructionsZH-HANS"?: string | null;
    "strInstructionsZH-HANT"?: string | null;
    strDrinkThumb: string;
    strIngredient1: string;
    strIngredient2: string;
    strIngredient3: string;
    strIngredient4?: string | null;
    strIngredient5?: string | null;
    strIngredient6?: string | null;
    strIngredient7?: string | null;
    strIngredient8?: string | null;
    strIngredient9?: string | null | null;
    strIngredient10?: string | null;
    strIngredient11?: string | null;
    strIngredient12?: string | null;
    strIngredient13?: string | null;
    strIngredient14?: string | null;
    strIngredient15?: string | null;
    strMeasure1: string;
    strMeasure2: string;
    strMeasure3?: string | null;
    strMeasure4?: string | null;
    strMeasure5?: string | null;
    strMeasure6?: string | null;
    strMeasure7?: string | null;
    strMeasure8?: string | null;
    strMeasure9?: string | null;
    strMeasure10?: string | null;
    strMeasure11?: string | null;
    strMeasure12?: string | null;
    strMeasure13?: string | null;
    strMeasure14?: string | null;
    strMeasure15?: string | null;
    strImageSource?: string | null;
    strImageAttribution?: string | null;
    strCreativeCommonsConfirmed: string;
    dateModified: string;
}

interface action {
    type: string;
    payload?: any;
}
interface CocktailCardProps {
    cocktail: Drink;
    style?: any;
}
interface dispatch {
    dispatch: (action: action) => void;
}
interface HomePageState {
    inputSearchString: string;
    dropdown: boolean;
    cocktail: Drink | {};
}
interface DropdownProps {
    dispatch: (action: action) => void;
    isLoading: boolean;
    isVisible: boolean;
    items: Drink[] | undefined;
}
interface ServerResponse<T> {
    drinks: T;
}
export type {
    dispatch,
    Drink,
    HomePageState,
    action,
    CocktailCardProps,
    DropdownProps,
    ServerResponse,
};
